1. Field of Invention
The present invention relates to a system and a method for discovering a path maximum transmission unit (MTU) in a data communication network, and more particularly, to a system and a method for discovering a path MTU in which the path MTU is stored in a signal message, such as a binding update (BU) message, or a header of a general data packet and the path MTU is updated for every packet transmission path.
2. Description of the Related Art
To send a packet to a destination node, a source node performs fragmentation of the packet into fragmented packets with a size smaller than the maximum transmission unit (hereinafter referred to as ‘MTU’) of the source node and sends the fragmented packets to the destination node, based on an address system of IPv6 (Internet Protocol version 6). At this time, the packet fragmentation can be performed only at the source node and all other nodes on a path cannot perform such a packet fragmentation. It is because a heavy load may be applied to intermediate nodes if the intermediate nodes, including routers, are forced to fragment received packets with sizes larger than their own MTUs into packets with the sizes of MTUs and to transmit the fragmented packets. Thus, packet fragmentation is originally prevented at the intermediate nodes.
In this context, an intermediate or destination node that has received a packet compares the size of the received packet with its own MTU. If the MTU is smaller than the packet size, the intermediate or destination node sends an Internet control message protocol (ICMP) error message to a source node so that the source node decreases its own MTU. If a path consists of 5 terminals including source, destination and intermediate nodes, ICMP error messages may be created up to four times at maximum. Every time a message is created, the source node should readjust its own MTU and resend a packet.
FIG. 1 is a view illustrating a path for transmitting a packet between source and destination nodes 100 and 140. A data communication network shown in FIG. 1 consists of the source node 100, intermediate nodes or routers 110, 120 and 130, and the destination node 140.
The source node 100 generates and sends a packet via the path. Upon receipt of an ICMP error message, the source node decreases its own MTU and resends a resized packet.
Each of the intermediate nodes or routers 110, 120 and 130 compares a received packet with its own MTU. If the received packet is larger than the MTU, the node or router creates an ICMP error message and sends it to the source node 100. The destination node 140 refers to a consumer of the packet generated by the source node 100.
Here, a MTU for a connection link between nodes is referred to as a link MTU. A MTU for a path consisting of several links between the source node 100 and the destination node 140 is referred to as a path MTU. Here, the path MTU has the minimum value among link MTUs between the source node 100 and the destination node 140. In other words, the path MTU represents the maximum size of a packet capable of being sent from the source node 100 to the destination node 140 without packet fragmentation.
At this time, under the address system of IPv6, all the nodes 100, 110, 120, 130 and 140 need to be able to receive and send a packet of at least 1,280 bytes and all other nodes on the path except the source node 100 are not authorized to fragment the packet.
FIGS. 2 and 3 are diagrams illustrating methods of transmitting a packet from a source node to a destination node in the related art. In particular, FIG. 2 illustrates a method of transmitting a packet with a minimum MTU size, and FIG. 3 illustrates a method of determining a path MTU using an ICMP error message and transmitting a packet.
As shown in FIG. 2, a first node 200 that is a source node generates a packet and then fragments the packet on the basis of a minimum packet unit (i.e. 1,280 bytes), to send fragmented packets to a third node 220 that is a destination node. In other words, each of the nodes 200, 210 and 220 on a path sends the packets with a size up to 1,280 bytes at maximum (S230). In this case, a process for discovering a path MTU may be omitted in the first node 200.
As shown in FIG. 3, when the MTU of a first node 300 is 2,500 bytes, and link MTUs between first and second nodes 300 and 310 and between second and third nodes 310 and 320 are 2,000 and 1,500 bytes, respectively, the first node 300 that is a source node generates a packet and sends a packet to the second node 310 according to its own MTU (i.e. 2,500 bytes) (S330). At this time, the second node 310 compares the link MTU of the received packet (i.e. 2,500 bytes) with that of the second node 310 (i.e. 2,000 bytes). If the received packet is larger than the link MTU, the second node discards the packet and sends an ICMP error message (Error code=Packet too big, Acceptable MTU size=2,000) to the first node 300 so that the size of a path MTU can be readjusted (S340).
The first node 300 that has received the ICMP error message decreases the size of a packet to 2,000 bytes based on the path MTU information contained in the ICMP error message, and sends the packet with a decreased size to the second node 310 (S350). At this time, the second node 310 forwards the received packet to the third node 320 since the size of the received packet (i.e. 2,000 bytes) is equal to the link MTU of the second node (S350). The third node 320 discards the received packet and sends an ICMP error message (Error code=Packet too big, Acceptable MTU size=1,500) to the first node 300 since the link MTU of the received packet is larger than that (i.e. 1,500 bytes) of the third node 320 (S360).
The first node 300 that has received the ICMP error message again decreases the size of a packet to 1,500 bytes and resends the resultant packet to the third node 320 (S370). At this time, the second node 310 sends the received packet to the third node 320 without creating an error message since the size of the received packet is smaller than the link MTU of the second node, and the third node 320 receives the packet from the second node. The method of transmitting the packet shown in FIG. 3 is based on the address system of IPv6.
The method illustrated in FIG. 2 can be easily implemented and an ICMP error message (Packet too big) is not created since the first node 200 as the source node is adapted to send a packet with the minimum MTU (1,280 bytes in this case) that can be sent by all other nodes. However, since an effective processing rate (i.e. bandwidth) of the path cannot be maximally utilized and packets are transmitted in a limited manner, throughput on the path is deteriorated.
Further, in the method illustrated in FIG. 3, the first node 300 as the source node sends a packet to the receiving node according to its own MTU, and the receiving node compares the size of the received packet with its own link MTU. If the packet size is larger than the link MTU of the receiving node, the receiving node sends an ICMP error message (Error code=Packet too big, Acceptable MTU size=1,500) to the first node 300. This process is repeated until the packet from the first node 300 reaches the third node 340 that is the destination node.
The path MTU determination method illustrated in FIG. 3 poses a problem in that a great deal of network resources are required because a new path MTU determination process should be performed every time a routing path is changed due to the sending node's reception of a redirect message from an intermediate node or router, the breakdown of some nodes, or the generation of handoff (i.e. call transfer) in a mobile communication network.